<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>Dynamic Link Library</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/Dynamic_Link_Library"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Dynamic_Link_Library rootpage-Dynamic_Link_Library skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span lang="en">Dynamic Link Library</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><p class="mw-empty-elt">
</p>
<div class="infobox_v3 infobox infobox--frwiki noarchive large"><div class="entete icon informatique" style="background-color:#C0C0C0"><div>Dynamic Link Library<style data-mw-deduplicate="TemplateStyles:r228712691">
/* start https://fr.wikipedia.org/ */
.mw-parser-output .entete.informatique{background-image:url("./_mw_/Picto.nfo.png")}
/* end https://fr.wikipedia.org/ */
</style></div></div><table><caption style="text-align:center;background-color:#C0C0C0">Caractéristiques</caption><tbody><tr class=""><th scope="row"><a href="Extension_de_nom_de_fichier" title="Extension de nom de fichier">Extension</a></th><td class=""><div>
<span class="wd_p1195"><code>.dll</code></span></div></td></tr><tr class=""><th scope="row"><a href="Type_de_m%C3%A9dias" title="Type de médias">Type MIME</a></th><td class=""><div>
<span class="wd_p1163"><code> application/vnd.microsoft.portable-executable</code>, <code> application/x-msdownload</code></span></div></td></tr><tr class=""><th scope="row">Développé par</th><td class=""><div>
<a href="IBM" title="IBM">IBM</a> et <a href="Microsoft" title="Microsoft">Microsoft</a></div></td></tr><tr class=""><th scope="row">Type de format</th><td class=""><div>
<a href="Biblioth%C3%A8que_logicielle" title="Bibliothèque logicielle">Bibliothèque logicielle</a></div></td></tr></tbody></table></div>
<p>Une <b><span class="lang-en" lang="en">Dynamic Link Library</span></b> (en français, <b>bibliothèque de liens dynamiques</b><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>) est une <a href="Biblioth%C3%A8que_logicielle" title="Bibliothèque logicielle">bibliothèque logicielle</a> dont les fonctions sont chargées en mémoire par un programme, au besoin, lors de son exécution, par opposition aux bibliothèques logicielles statiques ou partagées dont les fonctions sont chargées en mémoire avant le début de l'exécution du programme.
</p><p><b>.dll</b> est une <a href="Extension_de_nom_de_fichier" title="Extension de nom de fichier">extension de nom de fichier</a><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> utilisée par des fichiers contenant une <i>Dynamic Link Library</i>.
</p><p>Ces bibliothèques logicielles ont été inventées dans <a href="Multics" title="Multics">Multics</a> en 1964 et existent dans Windows depuis 1985<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-dhotre_6-0" class="reference"><a href="#cite_note-dhotre-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>. Elles constituent une des fondations des systèmes d'exploitation <a href="Windows" class="mw-redirect" title="Windows">Windows</a> et sont utilisées pour les <a href="Interfaces_de_programmation" class="mw-redirect" title="Interfaces de programmation">interfaces de programmation</a>, les <a href="Pilote_(informatique)" class="mw-redirect" title="Pilote (informatique)">pilotes</a>, les <a href="Composant_d'interface_graphique" title="Composant d'interface graphique"><i><span class="lang-en" lang="en">widgets</span></i></a> et les <a href="Police_d'%C3%A9criture" class="mw-redirect" title="Police d'écriture">polices de caractères</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Fonctionnement">Fonctionnement</h2></div>
<p>Un <a href="Programme_informatique" title="Programme informatique">programme informatique</a> est construit à partir d'un ensemble de fichiers <a href="Code_source" title="Code source">source</a> contenant des <a href="Fonction_(informatique)" class="mw-redirect" title="Fonction (informatique)">fonctions</a><sup id="cite_ref-dhotre_6-1" class="reference"><a href="#cite_note-dhotre-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>. Les bibliothèques logicielles sont des lots de fonctions stockées dans des fichiers. Une bibliothèque logicielle contient généralement un ensemble de fonctions autour du même sujet<sup id="cite_ref-haldar_7-0" class="reference"><a href="#cite_note-haldar-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>. Par cette technique, une modification subséquente d'une des fonctions de la bibliothèque nécessite de la re-créer, sans qu'il soit nécessaire de re-créer la totalité de l'application<sup id="cite_ref-dhotre_6-2" class="reference"><a href="#cite_note-dhotre-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>.
</p><p>Cette technique nécessite de charger en mémoire les fichiers de bibliothèque en même temps que le programme qui les utilise<sup id="cite_ref-fisher_8-0" class="reference"><a href="#cite_note-fisher-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>, ensuite de quoi un programme — l'<a href="%C3%89diteur_de_liens" class="mw-redirect" title="Éditeur de liens">éditeur de liens</a> — rend l'application opérationnelle en tissant des liens entre les différents fichiers<sup id="cite_ref-fisher_8-1" class="reference"><a href="#cite_note-fisher-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>.
</p><p>Les bibliothèques logicielles peuvent être :
</p>
<ul><li><dl><dt>Statiques</dt></dl></li></ul>
<p>Une bibliothèque statique est incorporée dans un programme et l'<a href="%C3%89dition_de_liens" title="Édition de liens">édition de liens</a> est effectuée pendant sa construction. Lorsqu'une bibliothèque statique est modifiée, chaque programme qui l'utilise doit être reconstruit pour incorporer les modifications<sup id="cite_ref-haldar_7-1" class="reference"><a href="#cite_note-haldar-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> ;
</p>
<ul><li><dl><dt>Partagées</dt>
<dd></dd></dl></li></ul>
<p>Une bibliothèque partagée n'est pas incorporée dans les programmes qui l'utilisent, mais est reliée à ces programmes lors de leur chargement, c'est-à-dire immédiatement avant l'exécution du programme. Une bibliothèque partagée peut être utilisée par de nombreux programmes et une modification de la bibliothèque ne nécessite pas de reconstruction des programmes, du moment que l'<a href="Interface_de_programmation" title="Interface de programmation">interface de programmation</a> de la bibliothèque ne change pas<sup id="cite_ref-haldar_7-2" class="reference"><a href="#cite_note-haldar-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> ;
</p>
<ul><li><dl><dt>Dynamiques (DLL)</dt>
<dd></dd></dl></li></ul>
<p>Les bibliothèques dynamiques sont identiques aux bibliothèques partagées, mais sont utilisées d'une manière différente. De telles bibliothèques sont reliées à l'application lorsque celle-ci en a besoin. Les programmes qui les utilisent comportent les instructions nécessaires au chargement et à la liaison<sup id="cite_ref-haldar_7-3" class="reference"><a href="#cite_note-haldar-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>.
</p><p>Dans la technique de la <i>liaison dynamique</i> utilisée par les DLL, l'opération de liaison est exécutée en deux temps : tout d'abord, au moment de la construction de l'application, l'éditeur de liens crée des connecteurs, puis au chargement — immédiatement avant l'exécution de l'application — les connecteurs sont reliés entre eux<sup id="cite_ref-fisher_8-2" class="reference"><a href="#cite_note-fisher-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>. Les DLL sont au format <a href="COFF" class="mw-redirect" title="COFF">COFF</a>, également utilisé dans <a href="IBM" title="IBM">IBM</a> <a href="AIX" title="AIX">AIX</a><sup id="cite_ref-calcote_9-0" class="reference"><a href="#cite_note-calcote-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Dans_Windows">Dans Windows</h2></div>
<p>Les DLL sont une des fondations des <a href="Syst%C3%A8mes_d'exploitation" class="mw-redirect" title="Systèmes d'exploitation">systèmes d'exploitation</a> <a href="Microsoft_Windows" title="Microsoft Windows">Windows</a>. Les fonctions internes de Windows sont mises à disposition des programmes par des <a href="Interface_de_programmation" title="Interface de programmation">interfaces de programmation</a> mises en œuvre par des fichiers DLL<sup id="cite_ref-perry_10-0" class="reference"><a href="#cite_note-perry-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>. Les trois principales bibliothèques sont <i>User32.dll</i> (manipulation de l'interface utilisateur), <i>GDI32.dll</i> (manipulation des dispositifs d'impression et d'affichage), et <i>Kernel32.dll</i> (utilisation des fonctions du noyau de Windows concernant les fichiers et les processus). D'autres fichiers de Windows souvent utilisés en programmation sont <i>comdlg32.dll</i>, <i>MAPI32.dll</i>, <i>netapi32.dll</i> et <i>winmm.dll</i><sup id="cite_ref-perry_10-1" class="reference"><a href="#cite_note-perry-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>. Les fichiers DLL sont également utilisés pour de nombreuses extensions : <a href="Pilote_(informatique)" class="mw-redirect" title="Pilote (informatique)">pilotes</a>, <a href="Bo%C3%AEte_de_dialogue" title="Boîte de dialogue">boîtes de dialogue</a>, <a href="Composant_d'interface_graphique" title="Composant d'interface graphique"><i><span class="lang-en" lang="en">widgets</span></i></a>, <a href="Police_d'%C3%A9criture" class="mw-redirect" title="Police d'écriture">polices de caractères</a><sup id="cite_ref-cantu_11-0" class="reference"><a href="#cite_note-cantu-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>.
</p><p>Windows offre la possibilité de détourner ou de subtiliser les fonctions des DLL. <span class="need_ref" title="Ce passage nécessite une précision." style="cursor:help;">Outre des raisons légitimes</span><sup class="need_ref_tag" style="padding-left:2px;">[Lesquelles ?]</sup>, ces possibilités sont exploitées par des <a href="Rootkit" title="Rootkit">rootkit</a>, qui <i>injectent</i> des fonctionnalités à l'insu de l'utilisateur en subtilisant les DLL du système d'exploitation<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Programmation">Programmation</h2></div>
<p>Des langages comme <a href="C_(langage)" title="C (langage)">C</a>, <a href="C%2B%2B" title="C++">C++</a> ou <a href="Embarcadero_Delphi" class="mw-redirect" title="Embarcadero Delphi">Delphi</a> sont aptes à créer des DLL qui peuvent être exploitées par des programmes. De nombreux outils de développement qui proposent des bibliothèques d'exécution à l'instar des <a href="Microsoft_Foundation_Class_Library" title="Microsoft Foundation Class Library">Microsoft Foundation Class Library</a> (MFC) ou de la <a href="Visual_Component_Library" title="Visual Component Library">Visual Component Library</a> (VCL) de <a href="Borland" title="Borland">Borland</a> proposent soit une liaison statique (intégration directe du code dans l'exécutable) soit une liaison dynamique (la bibliothèque est alors à distribuer sous forme de DLL).
</p><p>L'utilisation de DLL permet de mettre à disposition du code et de rendre modulaire l'architecture d'une application. La mise à jour de celle-ci peut également se faire en remplaçant uniquement les DLL obsolètes. Néanmoins, l'utilisation de plusieurs versions concurrentes de DLL est problématique sous <a href="Microsoft_Windows" title="Microsoft Windows">Windows</a> et conduit à certaines incompatibilités regroupées sous le terme <i><span class="lang-en" lang="en">DLL Hell</span></i>.
</p>
<div class="mw-heading mw-heading2"><h2 id="DLL_hell_(l'enfer_des_DLL)"><span id="DLL_hell_.28l.27enfer_des_DLL.29"></span><i><span class="lang-en" lang="en">DLL hell</span></i> (l'enfer des DLL)</h2></div>
<p>La construction des DLL permet de facilement les remplacer pour y ajouter des nouvelles fonctions et améliorer les fonctions existantes. Il arrive cependant que le remplacement entraîne des modifications en profondeur des fonctions existantes, ce qui entraîne des pannes et un fonctionnement erroné des programmes qui l'utilisent. De plus, les DLL réalisées avec un compilateur tendent à être incompatibles avec les exécutables réalisés avec un autre compilateur.
</p><p>C'est une cause connue d'appels aux services techniques qui ont baptisé ce phénomène <i><span class="lang-en" lang="en">DLL hell</span></i>, « l'enfer des DLL » en anglais<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>.
</p><p>Lorsqu'un fichier DLL manque sur l'ordinateur de l'utilisateur, le lancement d'un programme qui s'en sert provoquera un message <i><span class="lang-en" lang="en">DLL Not found</span></i> (« DLL non trouvée ») qui n'est d'aucune utilité pour l'utilisateur. Si la DLL existe mais n'est pas valable pour le programme, alors celui-ci n'a aucun moyen de le vérifier, ce qui peut entraîner des messages <i>DynaLink error</i> voire un crash du programme<sup id="cite_ref-gems_14-0" class="reference"><a href="#cite_note-gems-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>. Une des causes de tels incidents est que Windows n'offre pas de mécanisme interne de contrôle de version — mécanisme qui garantit qu'un programme sera associé avec la bibliothèque pour laquelle il a été construit<sup id="cite_ref-calcote_9-1" class="reference"><a href="#cite_note-calcote-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>.
</p><p>Un des moyens qu'ont les programmeurs de lutter contre le <i><span class="lang-en" lang="en">DLL hell</span></i> est de charger <i>explicitement</i> le fichier DLL : au lieu que le fichier soit automatiquement chargé au lancement du programme qui l'utilise, le programme utilise la fonction <code>LoadLibrary</code>, qui charge le fichier s'il existe<sup id="cite_ref-gems_14-1" class="reference"><a href="#cite_note-gems-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>. La principale différence entre cette méthode et la méthode <i>classique</i> est que l'exécutable ne connait pas à l'avance les adresses des fonctions dont il aura besoin.
</p><p>Un autre moyen est de copier tout ou une partie du <a href="Code_source" title="Code source">code source</a> de la DLL dans celui du futur exécutable afin de se passer de la dite DLL. Cela peut, cependant, être illégal (souvent à cause d'une incompatibilité des licences) ou techniquement impossible (généralement parce que le code source de la DLL n'est pas disponible) mais, même quand c'est à la fois possible et légal, cela reste généralement exclu en raison d'usages.
</p>
<div class="mw-heading mw-heading2"><h2 id="DLL_hijacking"><i>DLL hijacking</i></h2></div>
<p>À cause d'une vulnérabilité appelée « <i><span class="lang-en" lang="en">DLL hijacking</span></i> », « <i><span class="lang-en" lang="en">DLL spoofing</span></i> », « <i><span class="lang-en" lang="en">DLL preloading</span></i> », « <i><span class="lang-en" lang="en">DLL side-loading</span></i> »<sup id="cite_ref-BleepingComputer_15-0" class="reference"><a href="#cite_note-BleepingComputer-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> ou « <i><span class="lang-en" lang="en">binary planting</span></i> », plusieurs programmes chargent et exécutent des DLL malicieuses qui se trouvent dans les mêmes dossiers que des fichiers ouverts par ces programmes<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup>.
Les programmes exécutés à partir de dossiers non protégés, tels que « Téléchargements » et « Tmp » qui sont en lecture/écriture, sont plus susceptibles d'être visés<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup>.
</p><p>Cette vulnérabilité aurait été découverte en 2000 pour la première fois<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup>.
En août 2010, après qu'elle soit redécouverte, plusieurs médias de différents pays en discutent. Plusieurs centaines de programmes sont alors jugés vulnérables<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup>.
En avril 2022, il est révélé que <a href="VLC_media_player" title="VLC media player">VLC media player</a> aurait fait l'objet d'une telle attaque pendant une quinzaine d'années<sup id="cite_ref-BleepingComputer_15-1" class="reference"><a href="#cite_note-BleepingComputer-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h2></div>
<div class="references-small decimal" style=""><div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><span class="ouvrage">« <a rel="nofollow" class="external text" href="http://msdn.microsoft.com/fr-fr/library/1ez7dh12.aspx"><cite style="font-style:normal;">DLL en Visual C++</cite></a> », sur <span class="italique"><a href="Microsoft_Developer_Network" title="Microsoft Developer Network">msdn</a></span>, <a href="Microsoft" title="Microsoft">Microsoft</a> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2014-11-01" data-sort-value="2014-11-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> novembre 2014</time>)</small></span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a> </span><span class="reference-text"><span class="ouvrage">« <a rel="nofollow" class="external text" href="http://www.symantec.com/fr/fr/security_response/glossary/define.jsp?letter=d&word=dll-dynamic-link-library"><cite style="font-style:normal;">Glossaire DLL</cite></a> », sur <span class="italique"><a href="Symantec" class="mw-redirect" title="Symantec">Symantec</a></span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2014-10-31" data-sort-value="2014-10-31">31 octobre 2014</time>)</small></span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a> </span><span class="reference-text"><span class="ouvrage">« <a rel="nofollow" class="external text" href="http://www.isima.fr/~lacomme/doc/TutorielDLL.pdf"><cite style="font-style:normal;">Tutoriel de création et d’utilisation d’une bibliothèque dynamique (dll)</cite></a> » <abbr class="abbr indicateur-format format-pdf" title="Document au format Portable Document Format (PDF) d'Adobe">[PDF]</abbr>, sur <span class="italique"><a href="Institut_sup%C3%A9rieur_d'informatique%2C_de_mod%C3%A9lisation_et_de_leurs_applications" title="Institut supérieur d'informatique, de modélisation et de leurs applications">ISIMA</a></span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2014-10-31" data-sort-value="2014-10-31">31 octobre 2014</time>)</small></span></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a> </span><span class="reference-text"><span class="ouvrage">« <a rel="nofollow" class="external text" href="http://www.fichier-dll.fr/definition-dll.php"><cite style="font-style:normal;">Définition DLL et fonctionnement d'un fichier DLL</cite></a> », sur <span class="italique">fichier-dll.fr</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2014-10-31" data-sort-value="2014-10-31">31 octobre 2014</time>)</small></span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr><i>InfoWorld</i>, 23 mai 1988 <small style="line-height:1em;">(<a href="International_Standard_Serial_Number" title="International Standard Serial Number">ISSN</a> <span class=" noarchive"><a rel="nofollow" class="external text" href="https://portal.issn.org/resource/issn/0199-6649">0199-6649</a></span>)</small>.</span>
</li>
<li id="cite_note-dhotre-6"><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> I. A. Dhotre - A. A. Puntambekar, <i>Systems Programming</i>, Technical Publications - 2008 <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9788184313925</span>)</small>.</span>
</li>
<li id="cite_note-haldar-7"><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Sibsankar Haldar - Alex Alagarsamy Aravind, <i><span class="lang-en" lang="en">Operating Systems</span></i>, Pearson Education India - 2010 <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9788131730225</span>)</small>.</span>
</li>
<li id="cite_note-fisher-8"><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Joseph A. Fisher - Paolo Faraboschi - Clifford Young,<i><span class="lang-en" lang="en">Embedded Computing: A Vliw Approach To Architecture, Compilers And Tools</span></i>, Elsevier - 2005, <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9781558607668</span>)</small>.</span>
</li>
<li id="cite_note-calcote-9"><span class="reference-text"><span class="ouvrage" id="Calcote2010"><span class="ouvrage" id="John_Calcote2010"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> John Calcote, <cite class="italique" lang="en">Autotools: A Practitioner's Guide to GNU Autoconf, Automake, and Libtool</cite>, No Starch Press, <time>2010</time> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9781593272067</span>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Autotools%3A+A+Practitioner%27s+Guide+to+GNU+Autoconf%2C+Automake%2C+and+Libtool&rft.pub=No+Starch+Press&rft.aulast=Calcote&rft.aufirst=John&rft.date=2010&rfr_id=info%3Asid%2Ffr.wikipedia.org%3ADynamic+Link+Library"></span></span></span>.</span>
</li>
<li id="cite_note-perry-10"><span class="reference-text">Greg Perry, <i>Visual Basic 6</i>, Pearson Education France <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9782744040825</span>)</small>.</span>
</li>
<li id="cite_note-cantu-11"><span class="mw-cite-backlink"><a href="#cite_ref-cantu_11-0">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Marco Cantu, <i><span class="lang-en" lang="en">Mastering Delphi 6</span></i>, John Wiley & Sons - 2006 <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9780782152784</span>)</small>.</span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><a href="#cite_ref-12">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Greg. Hoglund - James Butler, <i><span class="lang-en" lang="en">Rootkits: Subverting the Windows Kernel</span></i>, <span class="lang-en" lang="en">Addison-Wesley Professional</span> - 2006 <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9780321294319</span>)</small>.</span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><a href="#cite_ref-13">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Gregory2004"><span class="ouvrage" id="Kate_Gregory2004"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Kate Gregory, <cite class="italique" lang="en">Microsoft Visual C++ .Net 2003: Kick Start</cite>, Sams Publishing, <time>2004</time> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9780672326004</span>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Microsoft+Visual+C%2B%2B+.Net+2003%3A+Kick+Start&rft.pub=Sams+Publishing&rft.aulast=Gregory&rft.aufirst=Kate&rft.date=2004&rfr_id=info%3Asid%2Ffr.wikipedia.org%3ADynamic+Link+Library"></span></span></span>.</span>
</li>
<li id="cite_note-gems-14"><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Mark A. Deloura, <i><span class="lang-en" lang="en">Game Programming: Gems 2</span></i>, Cengage Learning - 2001 <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9781584500544</span>)</small>.</span>
</li>
<li id="cite_note-BleepingComputer-15"><span class="reference-text"><span class="ouvrage" id="Ilascu2022"><span class="ouvrage" id="Ionut_Ilascu2022"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Ionut Ilascu, « <a rel="nofollow" class="external text" href="https://www.bleepingcomputer.com/news/security/chinese-hackers-abuse-vlc-media-player-to-launch-malware-loader/"><cite style="font-style:normal;" lang="en">Chinese hackers abuse VLC Media Player to launch malware loader</cite></a> », BleepingComputer, <time class="nowrap" datetime="2022-04-05" data-sort-value="2022-04-05">5 avril 2022</time></span></span></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><a href="#cite_ref-16">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <cite class="italique" lang="en">DLL Spoofing in Windows</cite> <small style="line-height:1em;">(<a rel="nofollow" class="external text" href="https://www.it.uu.se/edu/course/homepage/sakdat/ht05/assignments/pm/programme/DLL_Spoofing_in_Windows.pdf">lire en ligne</a> <abbr class="abbr indicateur-format format-pdf" title="Document au format Portable Document Format (PDF) d'Adobe">[PDF]</abbr>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=DLL+Spoofing+in+Windows&rft_id=https%3A%2F%2Fwww.it.uu.se%2Fedu%2Fcourse%2Fhomepage%2Fsakdat%2Fht05%2Fassignments%2Fpm%2Fprogramme%2FDLL_Spoofing_in_Windows.pdf&rfr_id=info%3Asid%2Ffr.wikipedia.org%3ADynamic+Link+Library"></span></span></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><a href="#cite_ref-17">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="http://blogs.msdn.com/b/david_leblanc/archive/2008/02/20/dll-preloading-attacks.aspx"><cite style="font-style:normal;" lang="en">DLL Preloading Attacks</cite></a> », sur <span class="italique">msdn.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2018-03-25" data-sort-value="2018-03-25">25 mars 2018</time>)</small></span></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><a href="#cite_ref-18">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="http://blogs.technet.com/b/srd/archive/2010/08/23/more-information-about-dll-preloading-remote-attack-vector.aspx"><cite style="font-style:normal;" lang="en">More information about the DLL Preloading remote attack vector</cite></a> », sur <span class="italique">technet.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2018-03-25" data-sort-value="2018-03-25">25 mars 2018</time>)</small></span></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><a href="#cite_ref-19">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="http://blogs.technet.com/b/srd/archive/2010/08/31/an-update-on-the-dll-preloading-remote-attack-vector.aspx"><cite style="font-style:normal;" lang="en">An update on the DLL-preloading remote attack vector</cite></a> », sur <span class="italique">technet.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2018-03-25" data-sort-value="2018-03-25">25 mars 2018</time>)</small></span></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><a href="#cite_ref-20">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Dormann2008"><span class="ouvrage" id="Will_Dormann2008"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Will Dormann, « <a rel="nofollow" class="external text" href="https://insights.sei.cmu.edu/cert/2008/09/carpet-bombing-and-directory-poisoning.html"><cite style="font-style:normal;" lang="en">Carpet Bombing and Directory Poisoning</cite></a> », sur <span class="italique">SEI Blog</span>, Carnegie Mellon UNiversity, <time class="nowrap" datetime="2008-09-04" data-sort-value="2008-09-04">4 septembre 2008</time></span></span></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><a href="#cite_ref-21">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://www.theregister.co.uk/2015/11/03/dev_to_mozilla_please_dump_ancient_windows_install_processes/"><cite style="font-style:normal;" lang="en">Dev to Mozilla: Please dump ancient Windows install processes</cite></a> », sur <span class="italique">theregister.co.uk</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2018-03-25" data-sort-value="2018-03-25">25 mars 2018</time>)</small></span></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><a href="#cite_ref-22">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://www.gpg4win.org/news-20151125.html"><cite style="font-style:normal;" lang="en">Gpg4win - Security Advisory Gpg4win 2015-11-25</cite></a> », sur <span class="italique">www.gpg4win.org</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2018-03-25" data-sort-value="2018-03-25">25 mars 2018</time>)</small></span></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><a href="#cite_ref-23">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://service.mcafee.com/FAQDocument.aspx?lc=1033&id=TS102462"><cite style="font-style:normal;" lang="en">McAfee KB - McAfee Security Bulletin: Security patch for several McAfee installers and uninstallers (CVE-2015-8991, CVE-2015-8992, and CVE-2015-8993) (TS102462)</cite></a> », sur <span class="italique">service.mcafee.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2018-03-25" data-sort-value="2018-03-25">25 mars 2018</time>)</small></span></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><a href="#cite_ref-24">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170731055540/https://www.f-secure.com/en/web/labs_global/fsc-2015-4"><cite style="font-style:normal;" lang="en">fsc-2015-4 - F-Secure Labs</cite></a> », sur <span class="italique">f-secure.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2018-03-25" data-sort-value="2018-03-25">25 mars 2018</time>)</small></span></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><a href="#cite_ref-25">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2015"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://community.rapid7.com/community/infosec/blog/2015/12/21/scannow-dll-search-order-hijacking-vulnerability-and-deprecation"><cite style="font-style:normal;" lang="en">ScanNow DLL Search Order Hijacking Vulnerability and Deprecation</cite></a> », sur <span class="italique">rapid7.com</span>, <time class="nowrap" datetime="2015-12-21" data-sort-value="2015-12-21">21 décembre 2015</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2018-03-25" data-sort-value="2018-03-25">25 mars 2018</time>)</small></span></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><a href="#cite_ref-26">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Team"><span class="ouvrage" id="VeraCrypt_Team"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> VeraCrypt <span class="nom_auteur">Team</span>, « <a rel="nofollow" class="external text" href="http://seclists.org/oss-sec/2016/q1/58"><cite style="font-style:normal;" lang="en">oss-sec: CVE-2016-1281: TrueCrypt and VeraCrypt Windows installers allow arbitrary code execution with elevation of privilege</cite></a> », sur <span class="italique">seclists.org</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2018-03-25" data-sort-value="2018-03-25">25 mars 2018</time>)</small></span></span></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><a href="#cite_ref-27">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="http://www.guninski.com/officedll.html"><cite style="font-style:normal;" lang="en">Double clicking on MS Office documents from Windows Explorer may execute arbitrary programs in some cases</cite></a> », sur <span class="italique">guninski.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2018-03-25" data-sort-value="2018-03-25">25 mars 2018</time>)</small></span></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><a href="#cite_ref-28">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="http://www.binaryplanting.com/"><cite style="font-style:normal;" lang="en">Binary Planting - The Official Web Site of a Forgotten Vulnerability - ACROS Security</cite></a> », sur <span class="italique">binaryplanting.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2018-03-25" data-sort-value="2018-03-25">25 mars 2018</time>)</small></span></span>
</li>
</ol></div>
</div>
<div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Bibliographie">Bibliographie</h3></div>
<ul><li>Hart, Johnson. <i><span class="lang-en" lang="en">Windows System Programming Third Edition</span></i>. <span class="lang-en" lang="en">Addison-Wesley</span>, 2005. <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">0-321-25619-0</span>)</small></li>
<li>Rector, Brent <i>et al.</i> <i><span class="lang-en" lang="en">Win32 Programming</span></i>. <span class="lang-en" lang="en">Addison-Wesley Developers Press</span>, 1997. <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">0-201-63492-9</span>)</small>.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Liens_externes">Liens externes</h3></div>
<ul><li><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_pluslang_the_dllexport_and_dllimport_attributes.asp">dllexport, dllimport</a> sur MSDN</li>
<li><a rel="nofollow" class="external text" href="http://msdn2.microsoft.com/en-us/library/ms682589.aspx">Dynamic-Link Libraries</a> sur MSDN</li>
<li><a rel="nofollow" class="external text" href="http://support.microsoft.com/kb/815065">What is a DLL?</a> sur le site de Microsoft</li>
<li><a rel="nofollow" class="external text" href="http://msdn2.microsoft.com/en-us/library/ms682599.aspx">Dynamic-Link Library Functions</a> sur MSDN</li>
<li><a rel="nofollow" class="external text" href="http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx">Microsoft Portable Executable and Common Object File Format Specification</a></li>
<li><a rel="nofollow" class="external text" href="http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v8.docx">Microsoft specification for dll files</a></li></ul>
<div class="navbox-container" style="clear:both;">
</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de Microsoft</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2025-08-11" href="https://fr.wikipedia.org/wiki/?title=Dynamic_Link_Library&oldid=228052801">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>